export interface IRiskState {
	id?: string
	merchantId?: string
	windControlType?: number
	windControlLevelName?: string
	objectInfo?: string
	windControlLevel?: string
	windDescription?: string
	description?: string
	createdAt?: string
	createdBy?: string
	updatedAt?: string
	updatedBy?: string
}

export interface menuResponse<Record, Summary = any> {
	pageSize: number
	pageNum: number
	totalRecord: number
	totalPage: number
	record: Record[]
	summary?: Summary
}

export interface ISystrmList {
	createdBy: string
	endCreatedAt: string
	ipAttribution: string
	merchantId: number
	pageNum: number
	pageSize: number
	startCreatedAt: string
	terminalInfo: string
	typeId: number
}

export interface IMemberParams {
	creditLevel: number
	merchantId: string
	name: string
	mail: string
	username: string
	phoneNoPrefix?: string
	phoneNumber?: number
	phoneNum: string
	cludId: string
	userId: string
	businessModel: number
	topProxyName: string
	currency: string
	windControlType?: number
	userName: string
	phoneNo?: string
	realName?: string
}

export interface AddbankListParams {
	bankName: string
	currency: string
	bankLogo: string
	id: string
}

export interface IBanklistResponse {
	pageSize: number
	pageNum: number
	totalRecord: number
	totalPage: number
	record: menulistState[]
	summary: any
}
export interface parameterDictionarylist {
	k: string
	tag: string
	valueType: string
	module: number
	description: string
	v: string
	id: string
}

export interface parameterVersionlist {
	id: string
	version: string
	clientType: string
	downloadUrl: string
	updateType: string
	title: string
	content: string
	merchantId: string
	status: number
}
export interface parameterDomainlist {
	id: string
	domain: string
	domainType: string
	status: number
	domainDesc: string
}

export interface systemConfigurationlist {
	configDes: string
	module: string
	value: number
	moduleName: string
	id: string
}

export interface menulist {
	permissionName: string
	orderNum: number
	menuType: string
	component: string
	id: string
	giveMerchant: string
	perms: string
	createdAt: string
	visible: number
	isCache: number
	idPath: string
	type: number
	icon: string
	parentId: number
}
export interface menulistState {
	permissionName: string
	orderNum: number
	menuType: string
	component: string
	id: string
	giveMerchant: string
	perms: string
	createdAt: string
}

export interface ICommonResponse {
	pageSize: number
	pageNum: number
	totalRecord: number
	totalPage: number
	record: any
}
export interface ICommonDitate {
	pageSize: number
	pageNum: number
	totalRecord: number
	totalPage: number
	data: any
}
export interface ICommonResponses {
	pageSize: number
	pageNum: number
	totalRecord: number
	totalPage: number
	records: any
}

export interface ICommonClubResponses {
	upperLimit: number
	cardTableLimit: number
	lookOnLimit: number
	sitDownLimit: number
	texasBringInLimit: number
	shortCardBringInLimit: number
}

export interface IPersonValueQueryParams {
	k: string
	pageNum: number
	pageSize: number
}

export interface IPersonValueItemResponse {
	appId: number
	description: string
	id: number
	k: string
	module: string
	tag: string
	v: string
	valueType: string
}

export interface IPersonValueReportType<T = any, S = any> {
	pageNum: number
	pageSize: number
	records: T[] | null
	summary: S | null
	totalPage: number
	totalRecord: number
}

export interface ISystemValidateKeyTypeResponse {
	verifyCodeType: number
}

export interface parameterGameBasic {
	leaveSeatReserveTableInterval: string
	leaveSeatReserveTableResetPeriod: string
	leaveSeatReserveTableResetCount: string
}

export interface parameterClubTypeResponse {
	upperLimit: string
	cardTableLimit: number
	lookOnLimit: number
	sitDownLimit: number
	texasBringInLimit: number
	shortCardBringInLimit: number
}
